home *** CD-ROM | disk | FTP | other *** search
/ Info-Mac 1992 August / info-mac-1992.iso / Language (lang) / Lazy-Scheme / Divers / foreign.a < prev    next >
Text File  |  1992-03-05  |  4KB  |  171 lines

  1. * This is the assemby code hand written for fib, generated from the automagicaly 
  2. * compiled code 
  3.       
  4.     BLANKS OFF
  5.     LOAD    'EquatesHelp1'
  6.     LOAD    'EquatesHelp2'
  7.     
  8.     MACHINE MC68030
  9.     
  10. ***********************************************************************************
  11.     SEG        'PseudoMain'
  12. ImportThem    MAIN
  13.  
  14.     IMPORT (%Fib):CODE
  15.  
  16.         JSR    %Fib
  17.         
  18.         ENDP
  19. ***********************************************************************************
  20.     SEG        'Fib'
  21. **************************************************************************
  22. * Fibonnacci by the compiler
  23. **************************************************************************
  24.         
  25.         Thunk    %Fib
  26.         
  27.         MOVE.L    #4,D0
  28.         JSR    $04E0+2(A5)
  29.         MOVE.B    #17,-3(A0)
  30.         MOVE.L    R2,4(A0)
  31.         MOVE.L    A0,R2
  32.         LEA    8(A0),A0
  33.         MOVE.L    -(LP),(a0)+
  34.         POP1
  35.         MOVE.L    R2,(LP)+
  36.         MOVE.L    datinf,(Lp)+
  37.         MOVE.L    8(R2),(Lp)+
  38.         MOVE.L    dat2,(Lp)+
  39.         MOVE.L    datinf,A0
  40.         MOVE.L    4(A0),R2
  41.         MOVE.L    (A0),A0
  42.         JSR    8(A0)
  43.         MOVE.L    -(Lp),R2
  44.         CMP.L    False,R0
  45.         BEQ.S    condfaux
  46.         MOVE.L    Dat1,R0
  47.         RTS
  48. condfaux    MOVE.L    Datplus,(LP)+
  49.         MOVE.L    R2,(Lp)+
  50.         MOVE.L    DatFibc,(Lp)+
  51.         MOVE.L    Datunms,(LP)+
  52.         MOVE.L    8(R2),(LP)+
  53.         MOVE.L    Datunms,a0
  54.         MOVE.L    4(A0),R2
  55.         MOVE.L    (A0),A0
  56.         JSR    8(A0)
  57.         MOVE.L    R0,(LP)+
  58.         MOVE.L    DatFibC,a0
  59.         MOVE.L    4(A0),R2
  60.         MOVE.L    (A0),A0
  61.         jsr    8(A0)
  62.         MOVE.L    -(Lp),R2
  63.         MOVE.L    R0,(Lp)+
  64.         MOVE.L    DatFibc,(Lp)+
  65.         MOVE.L    DatMs,(Lp)+
  66.         MOVE.L    8(R2),(Lp)+
  67.         MOVE.L    Dat2,(Lp)+
  68.         MOVE.L    Datms,A0
  69.         MOVE.L    4(A0),R2
  70.         MOVE.L    (A0),A0
  71.         JSR    8(A0)
  72.         MOVE.l    R0,(Lp)+
  73.         MOVE.L    DatFibC,A0
  74.         MOVE.L    4(A0),R2
  75.         MOVE.L    (A0),A0
  76.         JSR    8(A0)
  77.         MOVE.L    R0,(LP)+
  78.         MOVE.L    Datplus,A0
  79.         MOVE.l    4(A0),R2
  80.         MOVE.L    (A0),A0
  81.         JMP    8(A0)
  82.         
  83.         EndCode
  84.                 
  85. datinf        DS.L    1
  86. dat2        DS.L    1
  87. dat1        DS.L    1
  88. datplus        DS.L    1
  89. DatFibC        DS.L    1
  90. DatUnms    DS.L    1
  91. DatMS        DS.L    1
  92. False        DS.L    1
  93.         
  94.         EndThunk
  95. ***********************************************************************************
  96.         SEG        'F1'
  97.         Thunk    %f1
  98.         EndCode
  99.         EndThunk
  100. ***********************************************************************************
  101.         SEG        'F2'
  102.         Thunk    %f2
  103.         EndCode
  104.         EndThunk
  105. ***********************************************************************************
  106.         SEG        'F3'
  107.         Thunk    %f3
  108.         EndCode
  109.         EndThunk
  110. ***********************************************************************************
  111.         SEG        'F4'
  112.         Thunk    %f4
  113.         EndCode
  114.         EndThunk
  115. ***********************************************************************************
  116.         SEG        'F5'
  117.         Thunk    %f5
  118.         EndCode
  119.         EndThunk
  120. ***********************************************************************************
  121.         SEG        'F6'
  122.         Thunk    %f6
  123.         EndCode
  124.         EndThunk
  125. ***********************************************************************************
  126.         SEG        'F7'
  127.         Thunk    %f7
  128.         EndCode
  129.         EndThunk
  130. ***********************************************************************************
  131.         SEG        'F8'
  132.         Thunk    %f8
  133.         EndCode
  134.         EndThunk
  135. ***********************************************************************************
  136.         SEG        'F9'
  137.         Thunk    %f9
  138.         EndCode
  139.         EndThunk
  140. ***********************************************************************************
  141.         SEG        'Fa'
  142.         Thunk    %fa
  143.         EndCode
  144.         EndThunk
  145. ***********************************************************************************
  146.         SEG        'Fb'
  147.         Thunk    %fb
  148.         EndCode
  149.         EndThunk
  150. ***********************************************************************************
  151.         SEG        'Fc'
  152.         Thunk    %fc
  153.         EndCode
  154.         EndThunk
  155. ***********************************************************************************
  156.         SEG        'Fd'
  157.         Thunk    %fd
  158.         EndCode
  159.         EndThunk
  160. ***********************************************************************************
  161.         SEG        'Fe'
  162.         Thunk    %fe
  163.         EndCode
  164.         EndThunk
  165. ***********************************************************************************
  166.         SEG        'Ff'
  167.         Thunk    %ff
  168.         EndCode
  169.         EndThunk
  170. ***********************************************************************************
  171.     END